:root {
    --concave-corners-background: rgba(0, 0, 0, 0.3);
    --concave-corners-size: 1rem;
}

.concave-corners {
    background-color: var(--concave-corners-background);

    /* Used to position the corners */
    position: relative;

    /* Misc */
    height: 100%;
}

.concave-corners__corner {
    /* Absolute position */
    position: absolute;

    /* Size */
    height: var(--concave-corners-size);
    width: var(--concave-corners-size);

    background: #fff;
}

.concave-corners__corner--tl {
    /* Position */
    left: 0;
    top: 0;

    /* Border radius */
    border-radius: 0 0 var(--concave-corners-size) 0;
}

.concave-corners__corner--tr {
    /* Position */
    right: 0;
    top: 0;

    /* Border radius */
    border-radius: 0 0 0 var(--concave-corners-size);
}

.concave-corners__corner--bl {
    /* Position */
    bottom: 0;
    left: 0;

    /* Border radius */
    border-radius: 0 var(--concave-corners-size) 0 0;
}

.concave-corners__corner--br {
    /* Position */
    bottom: 0;
    right: 0;

    /* Border radius */
    border-radius: var(--concave-corners-size) 0 0 0;
}
